/**
 * 根据字符串生成函数体
 * @param funcBody string
 * @param params Array<string> 函数参数
 */
 export function generatorFunctionWithString(funcBody: string, ...params: Array<string>) {
  try {
    return new Function(...params, funcBody);
  } catch (err) {
    return null;
  }
}

/**
 * 执行可能发生错误的函数，执行失败时返回默认返回值
 */
export function execFunctionWithException(func: Function, defaultReturn: any, ...params: any) {
  try {
    const result = func(...params);
    return result || defaultReturn;
  } catch {
    return defaultReturn;
  }
}